import request from '@/config/axios'

// 跨境电商平台授权信息 VO
export interface PlatformAuthVO {
  id: number // 授权编号
  platformId: number // 平台编号
  storeId: number // 店铺编号
  authType: number // 认证类型（1OAuth2 2API密钥 3JWT 4Basic Auth）
  clientId: string // 客户端ID
  clientSecret: string // 客户端密钥
  accessToken: string // 访问令牌
  refreshToken: string // 刷新令牌
  tokenType: string // 令牌类型
  scope: string // 授权范围
  expiresIn: number // 令牌有效期（秒）
  tokenExpireTime: Date // 令牌过期时间
  apiKey: string // API密钥
  apiSecret: string // API密钥
  additionalParams: string // 额外参数JSON
  authStatus: number // 授权状态（0未授权 1已授权 2授权过期 3授权失败）
  authTime: Date // 授权时间
  lastRefreshTime: Date // 最后刷新时间
  authErrorMsg: string // 授权错误信息
  autoRefresh: boolean // 是否自动刷新令牌
}

// 跨境电商平台授权信息 API
export const PlatformAuthApi = {
  // 查询跨境电商平台授权信息分页
  getPlatformAuthPage: async (params: any) => {
    return await request.get({ url: `/crossborder/platform-auth/page`, params })
  },

  // 查询跨境电商平台授权信息详情
  getPlatformAuth: async (id: number) => {
    return await request.get({ url: `/crossborder/platform-auth/get?id=` + id })
  },

  // 新增跨境电商平台授权信息
  createPlatformAuth: async (data: PlatformAuthVO) => {
    return await request.post({ url: `/crossborder/platform-auth/create`, data })
  },

  // 修改跨境电商平台授权信息
  updatePlatformAuth: async (data: PlatformAuthVO) => {
    return await request.put({ url: `/crossborder/platform-auth/update`, data })
  },

  // 删除跨境电商平台授权信息
  deletePlatformAuth: async (id: number) => {
    return await request.delete({ url: `/crossborder/platform-auth/delete?id=` + id })
  },

  // 批量删除跨境电商平台授权信息
  deletePlatformAuthList: async (ids: number[]) => {
    return await request.delete({ url: `/crossborder/platform-auth/delete-batch`, data: ids })
  },

  // 导出跨境电商平台授权信息 Excel
  exportPlatformAuth: async (params) => {
    return await request.download({ url: `/crossborder/platform-auth/export-excel`, params })
  },
}
